Skip to content

ci: Fix Spring Boot matrix version updates#5372

Merged
adinauer merged 13 commits into
mainfrom
ci/fix-spring-boot-matrix-version-sed
May 28, 2026
Merged

ci: Fix Spring Boot matrix version updates#5372
adinauer merged 13 commits into
mainfrom
ci/fix-spring-boot-matrix-version-sed

Conversation

@adinauer
Copy link
Copy Markdown
Member

@adinauer adinauer commented May 6, 2026

📜 Description

Fix the Spring Boot 2.x, 3.x, and 4.x matrix workflows so their version override matches the TOML version catalog format.

The workflows now preserve whitespace around the assignment and replace the quoted Spring Boot version value in gradle/libs.versions.toml.

💡 Motivation and Context

The existing sed expressions looked for keys without spaces around =, but the version catalog uses entries like springboot2 = "2.7.18". As a result, matrix jobs did not actually update the Spring Boot version under test.

💚 How did you test it?

  • Ran the updated sed expressions against a temporary copy of gradle/libs.versions.toml and verified Spring Boot 2, 3, and 4 versions were updated.
  • Ran ./gradlew spotlessApply apiDump.

📝 Checklist

  • I added GH Issue ID & Linear ID
  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.

🔮 Next steps

#skip-changelog

@sentry
Copy link
Copy Markdown

sentry Bot commented May 6, 2026

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
SDK Size io.sentry.tests.size 8.43.0 (1) release

⚙️ sentry-android Build Distribution Settings

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 6, 2026

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 388.61 ms 466.80 ms 78.18 ms
Size 0 B 0 B 0 B

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
a5ab36f 316.83 ms 394.54 ms 77.71 ms
e63ad34 336.55 ms 406.79 ms 70.23 ms
ad8da22 362.98 ms 453.94 ms 90.96 ms
70118e9 380.00 ms 475.72 ms 95.72 ms
2124a46 319.19 ms 415.04 ms 95.85 ms
b3d8889 371.84 ms 447.49 ms 75.65 ms
cf708bd 434.73 ms 502.96 ms 68.22 ms
ab8a72d 316.24 ms 356.38 ms 40.14 ms
d5a29b6 298.62 ms 391.78 ms 93.16 ms
d15471f 379.40 ms 470.76 ms 91.36 ms

App size

Revision Plain With Sentry Diff
a5ab36f 1.58 MiB 2.12 MiB 555.26 KiB
e63ad34 0 B 0 B 0 B
ad8da22 1.58 MiB 2.29 MiB 719.83 KiB
70118e9 1.58 MiB 2.29 MiB 719.84 KiB
2124a46 1.58 MiB 2.12 MiB 551.51 KiB
b3d8889 1.58 MiB 2.10 MiB 535.07 KiB
cf708bd 1.58 MiB 2.11 MiB 539.71 KiB
ab8a72d 1.58 MiB 2.12 MiB 551.55 KiB
d5a29b6 1.58 MiB 2.12 MiB 549.37 KiB
d15471f 1.58 MiB 2.13 MiB 559.54 KiB

Previous results on branch: ci/fix-spring-boot-matrix-version-sed

Startup times

Revision Plain With Sentry Diff
e8826d8 331.94 ms 394.48 ms 62.54 ms
e235cc1 397.46 ms 477.04 ms 79.58 ms
505b017 322.64 ms 374.07 ms 51.43 ms
7092449 316.43 ms 352.15 ms 35.72 ms
741c273 287.21 ms 372.79 ms 85.58 ms
a4c9a7d 475.96 ms 557.86 ms 81.90 ms
da499be 312.21 ms 351.30 ms 39.09 ms
4c74ba4 308.60 ms 360.84 ms 52.23 ms

App size

Revision Plain With Sentry Diff
e8826d8 0 B 0 B 0 B
e235cc1 0 B 0 B 0 B
505b017 0 B 0 B 0 B
7092449 0 B 0 B 0 B
741c273 0 B 0 B 0 B
a4c9a7d 0 B 0 B 0 B
da499be 0 B 0 B 0 B
4c74ba4 0 B 0 B 0 B

adinauer and others added 5 commits May 11, 2026 15:47
Match the TOML version catalog format when overriding Spring Boot versions in matrix jobs. Preserve whitespace around the assignment and replace the quoted version value so the CI jobs actually test the requested matrix version.

Co-Authored-By: Claude <noreply@anthropic.com>
The matrix jobs now actually update the version catalog. Remove Spring Boot versions that the current sample setup cannot build with the repository's Spring GraphQL integrations and Gradle version.

Co-Authored-By: Claude <noreply@anthropic.com>
Expand the Spring Boot 2 and 3 CI matrices to cover supported minor versions. Exclude GraphQL from Spring Boot 2 versions before 2.7 because the starter is unavailable there.

Keep the Spring Boot 3 Gradle plugin pinned to a Gradle-compatible version while importing the tested Spring Boot BOM in samples, so the matrix exercises the intended runtime dependencies.

Co-Authored-By: Claude <noreply@anthropic.com>
Remove the explicit elastic scheduler from the Spring Boot WebFlux sample. Mono.delay already schedules the delayed work, and using Schedulers.elastic triggers deprecation warnings that fail CI under -Werror.

Co-Authored-By: Claude <noreply@anthropic.com>
Spring Kafka sample support depends on newer Spring Boot 2 dependency management. Exclude Kafka sources, profile startup, and system tests when the matrix runs Boot 2 versions before 2.7.

Keep the system test classpath aligned with the SDK test helpers by importing the OkHttp and Jackson BOMs after the tested Spring Boot BOMs.

Co-Authored-By: Claude <noreply@anthropic.com>
@adinauer adinauer force-pushed the ci/fix-spring-boot-matrix-version-sed branch from 1b25f8f to 87b8bc3 Compare May 12, 2026 04:13
adinauer and others added 5 commits May 12, 2026 06:53
Spring Boot 2.1 and 2.2 use Reactor versions without Mono.doFirst or Schedulers.onScheduleHook. Avoid those calls in the Boot 2 WebFlux integration so old matrix jobs can start and serve requests.

Co-Authored-By: Claude <noreply@anthropic.com>
Spring Boot 2.1 and 2.2 cannot parse newer OpenTelemetry auto-configuration classes during startup. Keep the matrix coverage for supported samples and skip the no-agent OTel sample for those versions.

Co-Authored-By: Claude <noreply@anthropic.com>
Remove Spring Boot 2.1 and 2.2 from the matrix instead of carrying WebFlux compatibility changes for their older Reactor and Spring APIs.

Restore the WebFlux filter implementation now that those versions are no longer tested.

Co-Authored-By: Claude <noreply@anthropic.com>
Revert the compatibility guard for Reactor versions that are no longer covered by the Spring Boot matrix.

Co-Authored-By: Claude <noreply@anthropic.com>
Use the erased Consumer signature in the batch loader registry wrapper so the code compiles with both Spring GraphQL 1.2/1.3 and 1.4.

Let the Spring Boot 3 Gradle plugin follow the tested matrix version instead of pinning it separately.

Co-Authored-By: Claude <noreply@anthropic.com>
@adinauer adinauer marked this pull request as ready for review May 19, 2026 12:23
Comment thread sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/build.gradle.kts Outdated
Comment thread sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts Outdated
Comment thread sentry-samples/sentry-samples-spring-boot/build.gradle.kts Outdated
Comment thread .github/workflows/spring-boot-2-matrix.yml Outdated
adinauer and others added 3 commits May 28, 2026 06:54
Gradle already includes src/test/java in the test source set by default. Remove explicit duplicate source set configuration from the Spring modules and samples touched by this PR.

Co-Authored-By: Claude <noreply@anthropic.com>
Use the JvmTarget import in Spring Gradle scripts touched by this PR instead of repeating the fully qualified class name.

Co-Authored-By: Claude <noreply@anthropic.com>
Use a replacement command that exits non-zero when the expected Spring Boot version entry is not found. This prevents matrix jobs from silently running against the wrong dependency version.

Co-Authored-By: Claude <noreply@anthropic.com>
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 45bda6e. Configure here.

Comment thread sentry-samples/sentry-samples-spring-boot/build.gradle.kts
@adinauer adinauer merged commit e5cd1c6 into main May 28, 2026
68 checks passed
@adinauer adinauer deleted the ci/fix-spring-boot-matrix-version-sed branch May 28, 2026 08:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants